package entity.Administracion;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import dto.Administracion.DTO_Stock;
import dto.Encomienda.DTO_EncomiendaEnStock;
import entity.Encomienda.Entity_EncomiendaEnStock;


public class Entity_Stock implements Serializable{
	private static final long serialVersionUID = 1L;
	@Id 
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer id;
	private String descripcion;
	@ManyToOne
	@JoinColumn(name="idSucursal")
	private Entity_Sucursal sucursal;
	@OneToMany
	@JoinColumn(name="idStock")
	private List<Entity_EncomiendaEnStock> encomiendas;
	public Entity_Stock() {

	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public Entity_Sucursal getSucursal() {
		return sucursal;
	}

	public void setSucursal(Entity_Sucursal sucursal) {
		this.sucursal = sucursal;
	}

	public List<Entity_EncomiendaEnStock> getEncomiendas() {
		return encomiendas;
	}

	public void setEncomiendas(List<Entity_EncomiendaEnStock> encomiendas) {
		this.encomiendas = encomiendas;
	}

	public DTO_Stock toDTO() {
		DTO_Stock stockDTO = new DTO_Stock();
		stockDTO.setId(this.getId());
		stockDTO.setDescripcion(this.getDescripcion());
		stockDTO.setIdSucursal(this.getSucursal().getId());

		List<DTO_EncomiendaEnStock> encomiendas = new ArrayList<DTO_EncomiendaEnStock>();
		for(Entity_EncomiendaEnStock e : this.getEncomiendas()){
			encomiendas.add(e.toDTO());
		}
		stockDTO.setEncomiendas(encomiendas);

		return stockDTO;
	}

}
